﻿using System;
using System.Collections.Generic;
using System.Threading;
using ABCat.Core.Plugins.DataSets;

namespace ABCat.Core.Plugins.DataProviders
{
	public interface IDbContainer : IPlugin
	{
		void SaveChanges();
		bool AutoSaveChanges { get; set; }
		IAudioBookSet AudioBookSet { get; }
		IAudioBookGroupSet AudioBookGroupSet { get; }
		Queue<string> WaitForParse { get; }
		HashSet<string> RecordsCache { get; }
		IUserDataSet UserDataSet { get; }
		IHiddenRecordSet HiddenRecordSet { get; }
		IHiddenValueSet HiddenValueSet { get; }
		IReplacementStringSet ReplacementStringSet { get; }
		IBinaryDataSet BinaryDataSet { get; }
	}
}